From: Ewan Mellor Date: Thu, 1 Feb 2007 15:44:00 +0000 (+0000) Subject: Fix SDL option for HVM domains. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~15358^2~21 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=fa39434f9aa2ad31e32112c0321248db9e540ba2;p=xen.git Fix SDL option for HVM domains. Signed-off-by: Ewan Mellor --- diff --git a/tools/python/xen/xend/image.py b/tools/python/xen/xend/image.py index e1f87e1e8f..7a20eae3c8 100644 --- a/tools/python/xen/xend/image.py +++ b/tools/python/xen/xend/image.py @@ -449,48 +449,50 @@ class HVMImageHandler(ImageHandler): return ret vnc_config = {} - has_vfb = False has_vnc = int(vmConfig['image'].get('vnc', 0)) != 0 + has_sdl = int(vmConfig['image'].get('sdl', 0)) != 0 for dev_uuid in vmConfig['console_refs']: dev_type, dev_info = vmConfig['devices'][dev_uuid] if dev_type == 'vfb': vnc_config = dev_info.get('other_config', {}) - has_vfb = True + has_vnc = True break - if not vnc_config: - for key in ('vncunused', 'vnclisten', 'vncdisplay', 'vncpasswd'): - if key in vmConfig['image']: - vnc_config[key] = vmConfig['image'][key] - - if not has_vfb and not has_vnc: - ret.append('-nographic') - return ret - - - if not vnc_config.get('vncunused', 0) and \ - vnc_config.get('vncdisplay', 0): - ret.append('-vnc') - ret.append(str(vncdisplay)) + if has_vnc: + if not vnc_config: + for key in ('vncunused', 'vnclisten', 'vncdisplay', + 'vncpasswd'): + if key in vmConfig['image']: + vnc_config[key] = vmConfig['image'][key] + + if not vnc_config.get('vncunused', 0) and \ + vnc_config.get('vncdisplay', 0): + ret.append('-vnc') + ret.append(str(vncdisplay)) + else: + ret.append('-vncunused') + + vnclisten = vnc_config.get('vnclisten', + xenopts().get_vnclisten_address()) + ret.append('-vnclisten') + ret.append(str(vnclisten)) + + # Store vncpassword in xenstore + vncpasswd = vnc_config.get('vncpasswd') + if not vncpasswd: + vncpasswd = xenopts().get_vncpasswd_default() + + if vncpasswd is None: + raise VmError('vncpasswd is not setup in vmconfig or ' + 'xend-config.sxp') + + if vncpasswd != '': + self.vm.storeVm('vncpasswd', vncpasswd) + elif has_sdl: + # SDL is default in QEMU. + pass else: - ret.append('-vncunused') - - vnclisten = vnc_config.get('vnclisten', - xenopts().get_vnclisten_address()) - ret.append('-vnclisten') - ret.append(str(vnclisten)) - - # Store vncpassword in xenstore - vncpasswd = vnc_config.get('vncpasswd') - if not vncpasswd: - vncpasswd = xenopts().get_vncpasswd_default() - - if vncpasswd is None: - raise VmError('vncpasswd is not setup in vmconfig or ' - 'xend-config.sxp') - - if vncpasswd != '': - self.vm.storeVm('vncpasswd', vncpasswd) + ret.append('-nographic') return ret